// pages/personal_edit/personal_edit.js
const request = require('../../utils/promise.js');
Page({
  /**
   * 页面的初始数据
   */
  data: {
    type: 0,
    textValue: null,
    userInfo: null,
    navTitle: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

    var navTitle = '更改昵称';
    if (options.type==1) {
      navTitle = '兴趣爱好';
    } else if (options.type==2) {
      navTitle = '教育经历';
    } else if (options.type==3) {
      navTitle = '工作经历';
    } else if (options.type==8) {
      navTitle = '设置姓名';
    } else if (options.type==9) {
      navTitle = '设置手机号';
    }
    wx.setNavigationBarTitle({
      title: navTitle,
    })

    this.setData({
      type: options.type,
      navTitle: navTitle
    })

    // 获取用户信息
    this.reqUserInfo();
  },

  /**
   * 页面被用户分享时执行
   */
  onShareAppMessage() {
    return {
      title: '个人设置'
    }
  },

  /**
   * 分享到朋友圈
   */
  onShareTimeline() {
    return {
      title: '个人设置'
    }
  },

  /**
   * 获取用户编辑的信息
   */
  reqUserInfo() {
    request.GET('/user/userInfo', {openId: wx.getStorageSync('openId')}).then(res => {
      // console.log(res);
      if (res.data.resCode==200) {
        var value = "";
        if (this.data.type==0) {
          if (res.data.userInfo['username']) {
            value = res.data.userInfo['username'];
          } else {
            value = '用户 '+ res.data.userInfo['id'];
          }
        } else if (this.data.type==1) {
          if (res.data.userInfo['hobby']) {  // 兴趣爱好
            value = res.data.userInfo['hobby'];
          }
        } else if (this.data.type==2) {  // 教育经历
          if (res.data.userInfo['education']) {
            value = res.data.userInfo['education'];
          }
        } else if (this.data.type==3) {  // 工作经历
          if (res.data.userInfo['experience']) {
            value = res.data.userInfo['experience'];
          }
        } else if (this.data.type==8) {  // 姓名
          if (res.data.userInfo['fullname']) {
            value = res.data.userInfo['fullname'];
          }
        } else if (this.data.type==9) {  // 手机号
          if (res.data.userInfo['phone']) {
            value = res.data.userInfo['phone'];
          }
        }

        this.setData({
          textValue: value,
          userInfo: res.data.userInfo
        })
      } else {
        wx.showToast({
          title: '获取数据异常',
          icon: 'error',
          duration: 1500
        })
      }
    })
  },

  /**
   * input 输入值
   */
  bindInputChange(e) {
    this.setData({
      textValue: e.detail.value
    })
  },

  /**
   * 点击保存用户信息
   */
  clickSaveUserInfo() {
    
    // 修改昵称的校验
    if (this.data.type==0) {
      if (this.data.userInfo['times']==1) {
        wx.showModal({
          title: '温馨提示',
          content: '昵称只允许修改一次',
          showCancel: false
        })
        return;
      }
      
      if (this.data.textValue.trim()==this.data.userInfo['username']) {
        wx.showModal({
          title: '温馨提示',
          content: '请输入不同名称后再保存',
          showCancel: false
        })
        return;
      }
    }

    // 空校验
    if (this.data.textValue.trim().length==0) {
      wx.showToast({
        title: '不能为空',
        icon: 'none',
        duration: 1000
      })
      return;
    } else {
      if (this.data.type==0) {
        const chinese = /[^\u4E00-\u9FA5]/g;
        if (chinese.test(this.data.textValue.trim())) {
          wx.showToast({
            title: '昵称只能是中文',
            icon: 'none'
          })
          return;
        }
      }
    }

    wx.showToast({
      title: '保存中',
      icon: 'loading',
      duration: 30000,
      mask: true
    })

    const param = {
      userId: wx.getStorageSync('userId'), 
      valueStr: this.data.textValue.trim(),
      colType: this.data.type
    }
    request.GET('/user/save/edit', param).then(res => {
      // console.log(res)
      if (res.data.resCode==200) {
        if (this.data.type==0) {
          wx.setStorageSync('username', this.data.textValue.trim());
        }

        wx.showToast({
          title: '保存成功',
          icon: 'loading',
          duration: 1000,
          mask: true
        })

        setTimeout(function() {
          wx.navigateBack({
            delta: 1,
          })
        }, 1000)
      } else if (res.data.resCode==201) {
        wx.showToast({
          title: '该昵称已存在',
          icon: 'error',
          mask: true
        })
      } else {
        wx.showToast({
          title: '保存异常失败',
          icon: 'error',
          mask: true
        })
      }
    })
  },

})